作业分发概述

更新时间: 2025-02-28 14:34:10

ACK One多集群作业分发是阿里云面向多集群和混合云场景提供的多集群AI作业调度和分发的能力。当单一ACK集群无法满足大规模AI训练和推理任务的资源需求,或当前已有的多个ACK集群有较多资源闲置时,您可以利用ACK One多集群作业分发能力,将任务调度到多个集群,以满足您的资源需求。

功能特性

ACK One 多集群作业分发,具有以下能力:

  • 支持多种作业类型:PyTorchJob、SparkApplication、TFJob。

  • 多集群Gang调度:通过预占或动态资源检测,实现作业的多集群Gang调度,确保任务下发到子集群后能够调度,提升任务调度效率。

  • 多租户配额管理:用户可以使用ElasticQuotaTree提供的基于Namespace的资源管理,在多租户场景下限制各租户的资源使用量。

  • 任务优先级调度:依据用户在AI任务中的PodTemplate中定义的PriorityClass,确保高优先级任务优先获得集群资源。

  • 多种任务排队策略配置:您可以灵活定义各队列的排队策略,满足优先提高集群利用率或优先保证任务优先级两种使用方式,支持阻塞调度模式和非阻塞调度模式。

  • 作业失败后的重调度:作业在子集群中失败后,Global Scheduler将回收该作业,并对其进行重调度,调度到其他符合条件且资源充足的集群。

工作原理

image
  1. 向舰队提交PyTorchJob、SparkApplication或TFJob的类型作业和分发策略PropagationPolicy

  2. 舰队对作业进行优先级调度和租户配额管理Capacity Scheduling。

  3. 舰队中的Global Scheduler,对出队列的作业进行多集群动态资源调度和多集群Gang调度,对满足条件的集群进行资源预占或动态资源检查,调度失败则重新入队列。

  4. 调度成功后,作业按策略分发到对应的ACK集群中。

  5. 若作业运行失败,Global Scheduler将回收作业,并对其进行重调度,调度到其他符合条件且资源充足的集群。

上一篇: 分发策略与差异化策略 下一篇: 如何在舰队集群中使用KubeQueue并通过Gang调度PyTorchJob
阿里云首页 容器服务Kubernetes版 相关技术圈